// File: jmcomic-core/src/main/java/dev/jukomu/jmcomic/entity/Downloadable.java
package dev.jukomu.jmcomic.entity;

/**
 * 对应Python的Downloadable，表示一个可下载的实体。
 */
public interface Downloadable {

    /**
     * 获取下载后保存的路径。
     *
     * @return 保存路径
     */
    String getSavePath();

    /**
     * 设置下载后保存的路径。
     *
     * @param savePath 保存路径
     */
    void setSavePath(String savePath);

    /**
     * 检查文件是否已存在于保存路径。
     *
     * @return 如果文件存在返回 true
     */
    boolean isExists();

    /**
     * 设置文件是否已存在于保存路径。
     *
     * @param exists 如果文件存在则为 true
     */
    void setExists(boolean exists);

    /**
     * 检查该实体是否应跳过下载。
     *
     * @return 如果应跳过返回 true
     */
    boolean isSkip();

    /**
     * 设置该实体是否应跳过下载。
     *
     * @param skip 如果应跳过则为 true
     */
    void setSkip(boolean skip);
}